/**
 * Created by lixiaodi on 2019/05/05 0027.
 */
mini.parse();

//得到元素
var form = new mini.Form("form1");
var tableN = mini.get("tableClassName");
//全局变量
var sqlTableArr = [];	//保存过的所有数据存放
var parClassName = '';	//主表名称（英文）	
var parTableClId = '';	//主表ID
var childTableId = '';	//新建成功以后的子表id
var model = '';			//模型
var dbInfo = '';
var dbInfoId = '';
//页面初始化
$(function(){
	//得到系统当前的时间
	var nowDate = new Date();
	//格式化时间
	nowDate = formatDate(nowDate);
})

//编辑/新增
function SetData(data) {
	//编辑
    if (data.action == "edit") {
        
    //新增
    }else if(data.action == "new"){
    	//跨页面传递的数据对象，克隆后才可以安全使用
        data = mini.clone(data);
        parTableClId = data.parTableClId;
        parClassName = data.parClassName;
        model = data.model;
        dbInfoId = data.dbInfoId;
    }
}
//保存
function SaveData(action) {
	//验证
	form.validate();
    if (form.isValid() == false) return;
    //得到数据
    var ids = form.getData();
    //拼接参数
    var tableInfo = {
    		model: model,
            cTableName: ids.tableClassName,
            cTableChName: ids.tableChClassName,
			pid: parTableClId,
            dbInfoId : dbInfoId
	}
	console.log(tableInfo,'新增表的数据');
	var tableInfoStr = JSON.stringify(tableInfo);
	$.ajax({
        url: ajaxUrl + "/sqlAction/createStable.do",
        //url: "http://192.168.31.65:8080/bpm/Base/BaseClassAndTable.do",
        type: "post",
        data: tableInfoStr,
        contentType : "application/utf-8",
        success: function(data){
            if(data.state == 'success'){
            	var childTableInfo = data.table;
            	sqlTableArr.push(childTableInfo);
            	childTableId = childTableInfo.tableClassId;
            	//建立主子表关系
            	var relationObj = {
            			cTableName: parClassName,
            			mTable: parTableClId,
            			obj: childTableInfo.tableClassName,
            			sTable: childTableInfo.tableClassId
            	};
            	var childsString = JSON.stringify(relationObj);
            	if(action == 'saveNoClose'){
            		//提示建表成功
                	//mini.alert(data.data);
                	//建立表关系
                	creatRelation(childsString);
                	//表单清空
                	form.setData({});
            	}else if(action == 'saveClose'){
            		//建立表关系
                	// creatRelation(childsString);
                	//关闭页面
            		CloseWindow("saveClose");
            	}
            }else{
            	mini.alert('建表失败');
            }
        },
        error : function(data){
            mini.alert('保存失败')
        }
    });
}
//向父页面传值
function GetData() {
	console.log(sqlTableArr,'传给父页面的值');
    return sqlTableArr;
}

//校验模块必输
function onNotSpaceValidation(e) {
    if (e.isValid) {
        if (!e.value) {
            e.errorText = "不能为空";
            e.isValid = false;
        }
    }
}
//当鼠标失去焦点的时候校验表名
function findByTableClassName(e){
    //得到输入的英文表名
    var tableNValue = tableN.getValue();
    if(tableNValue){
        var regs = /^[\w\_]*$/;     //只能是数字和字母和下划线
        var reg = /^[0-9]*$/;       //纯数字
        if(regs.test(tableNValue)){
            if(!reg.test(tableNValue)){
                //如果不是数字也不是空，校验与数据库表名是否重复
                $.ajax({
                    url : ajaxUrl + "/tableClass/findAll.do",
                    type : "POST",
                    success : function(data){
                    	console.log(data);
                        var allTables = data.data;
                        for(var i = 0; i < allTables.length; i++){
                            if(tableNValue == allTables[i].tableClassName){
                            	//信号量改变
                                tnChange = false;
                                mini.alert("表名重复，请重新填写");
                                return false;
                            }
                        }
                    }
                });
            }else{
            	//信号量改变
                tnChange = false;
                mini.alert("表名不能为纯数字");
                return false;
            }
        }else{
        	//信号量改变
            tnChange = false;
            mini.alert("表名只能为字母，数字和下划线");
            return false;
        }
    }else{
    	//信号量改变
        tnChange = false;
        mini.alert("表名不能为空");
        return false;
    }
}
// //建立表关系
// function creatRelation(childsString){
// 	$.ajax({
// 	url : ajaxUrl + "/Base/createMTableKey.do",
// 	//url : "http://192.168.11.160:8080/bpm/Base/createMTableKey.do",
//     type : "POST",
//     contentType : "application/json",
//     data : childsString,
//     success : function(data){
//     	console.log(data,'建立表关系成功');
//     	//mini.alert(data.data);
//     	//成功提示
//     	showTips();
//     },
//     error : function(data){
//         console.log(data);
//     }
//  });
// }
//关闭子页面
function CloseWindow(action) {
    if (action == "close" && form.isChanged()) {
        if (confirm("数据被修改了，是否先保存？")) {
            return false;
        }
    }
    if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
    else window.close();
}
function onOk(e) {
    SaveData('saveClose');
}
function onCancel(e) {
    CloseWindow("cancel");
}
//提示信息
function showTips() {
    mini.showTips({
        content: "执行成功",
        state: "success",
        x: "center",
        y: "center",
        timeout: 1000
    });
}